{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "0f41e639-d899-4556-9b60-561b4b5bc655",
   "metadata": {},
   "source": [
    "**Pedro Rivero**  \n",
    "Quantum Developer *@ IBM Quantum*  \n",
    "pedro.rivero@ibm.com "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ea135bd5-d53c-42b5-acf5-5165419b8beb",
   "metadata": {},
   "source": [
    "# Get started with the Estimator primitive\n",
    "\n",
    "Learn what the _Estimator primitive_ is, how to set it up, and how to use it as of _Qiskit Terra 0.22.0_.\n",
    "\n",
    "\n",
    "## Overview\n",
    "_Primitives_ are meant to serve as foundational, elementary, building blocks for users to perform quantum computations, developers to implement quantum algorithms, and researchers to solve complex problems and deliver new applications.\n",
    "\n",
    "### Specification\n",
    "Formally speaking, the _Estimator_ primitive is a standardized specification for calculating and interpreting expectation values for different combinations of quantum states (i.e. circuits) and operators. This means that there is no single `Estimator` class to solve this task, but rather a family of them; each of which performing the same (internal) calculation on a slightly different way, while exposing a common _application programming interface_ (API) to the users.\n",
    "\n",
    "### Technical description\n",
    "From a technical standpoint, this is accomplished by defining a so called _interface_ or, in more pyhtonic terminology, _[abstract base class](https://docs.python.org/3/library/abc.html)_ (`ABC`): `BaseEstimator`. This `ABC` (i.e. the official specification of the _Estimator_ primitive) can be found in [Qiskit Terra](https://github.com/Qiskit/qiskit-terra/blob/main/qiskit/primitives/base/base_estimator.py), and serves two main purposes:\n",
    "\n",
    "1. Standardize the way users interact with all `Estimator` classes (up to configurations), by defining a common API.\n",
    "2. Decouple particular _Estimator_ implementations from the code that uses them, so that any user/developer can easily change their choice of technique for performing expectation value calculations.\n",
    "\n",
    "![Estimator specification](../media/base_estimator.png)\n",
    "\n",
    "\n",
    "### Qiskit Runtime\n",
    "\n",
    "As all other primitive programs to date, _Estimator_ was born in the context of _[Qiskit Runtime](https://qiskit.org/documentation/partners/qiskit_ibm_runtime/)_: a quantum computing service and programming model that allows users to optimize workloads and efficiently execute them on quantum systems at scale. IBM provides a [ proprietary `Estimator`](https://github.com/Qiskit/qiskit-ibm-runtime) (i.e. an implementation of `BaseEstimator`) that allows users to access IBM's quantum hardware efficiently after [registering for an account](https://qiskit.org/documentation/partners/qiskit_ibm_runtime/getting_started.html) either on _IBM Quantum_ or _IBM Cloud_.\n",
    "\n",
    "This tutorial has been developed for Qiskit's native simulators, please follow the links above for information on how to proceed with a real quantum computer."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a09d2578-bba2-4e5f-9ed3-da290f716dcf",
   "metadata": {},
   "source": [
    "## Demo\n",
    "\n",
    "Awesome! So... how do I use this thing?\n",
    "\n",
    "\n",
    "### Prepare the environment\n",
    "\n",
    "For a basic expectation value calculation you will need:\n",
    "\n",
    "1. At least one quantum circuit to prepare our system in a precise quantum state for study. Our examples all have circuits in them, but you can use Qiskit to create your own. To learn how to create circuits by using Qiskit, see the [Circuit basics tutorial](https://qiskit.org/documentation/tutorials/circuits/01_circuit_basics.html)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "e1e1a5b1-a8e3-4a28-a802-4917fc8fb9f2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 621.739x200.667 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from qiskit.circuit.random import random_circuit\n",
    "\n",
    "circuit = random_circuit(2, 2, seed=0).decompose(reps=1)\n",
    "display(circuit.draw(\"mpl\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "73fc48b5-d0e2-4277-baa2-00f9891a529b",
   "metadata": {},
   "source": [
    "2. At least one observable to measure. Observables represent physical properties of a quantum system (e.g. energy, spin), and allow said properties to be measured (e.g. their expectation values) for a given state of our system. For simplicity, you can use the [PauliSumOp class](https://qiskit.org/documentation/stubs/qiskit.opflow.primitive_ops.html#module-qiskit.opflow.primitive_ops) in Qiskit to define them, as illustrated in the example below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "ecd6d6a5-a93a-42a0-b2f0-16f7e59e0274",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  > Observable: ['XZ']\n"
     ]
    }
   ],
   "source": [
    "from qiskit.quantum_info import SparsePauliOp\n",
    "\n",
    "observable = SparsePauliOp(\"XZ\")\n",
    "print(f\"  > Observable: {observable.paulis}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "842614a4-8e3c-42bf-94f7-ad9c8854b0d7",
   "metadata": {},
   "source": [
    "3. An instance of any `Estimator` class complying with the _Estimator_ primitive specification. For simplicity, we will use Qiskit Terra's `qiskit.primitives.Estimator` class, based on the [`Statevector` construct](https://qiskit.org/documentation/stubs/qiskit.quantum_info.Statevector.html?highlight=statevector#qiskit.quantum_info.Statevector) (i.e. algebraic simulation)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "85fe1ff6-afed-49a9-99e2-8c9841a38ae4",
   "metadata": {},
   "outputs": [],
   "source": [
    "from qiskit.primitives import Estimator\n",
    "\n",
    "estimator = Estimator()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3a102694-1ba7-4cd9-b359-0a259bcce6c3",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Run single experiment\n",
    "You can invoke the _Estimator_ primitive program using the `run()` method of the `Estimator` instance you just created. The method returns a `JobV1` object which you can use to query for things like `job_id()` and `status()`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "ffc64a67-c963-4a0a-839a-74142c3d5966",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      ">>> a8987737-29b2-4f4b-ba11-4b3104360192\n",
      ">>> JobStatus.DONE\n"
     ]
    }
   ],
   "source": [
    "job = estimator.run(circuit, observable)\n",
    "print(f\">>> {job.job_id()}\")\n",
    "print(f\">>> {job.status()}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b1c8cadb-d826-4eac-b22e-a89c26224d0e",
   "metadata": {},
   "source": [
    "The `result()` method of the job will return the `EstimatorResult`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "47c4d2b9-74b7-4815-a9ee-24361446ea00",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      ">>> EstimatorResult(values=array([0.85347811]), metadata=[{}])\n"
     ]
    }
   ],
   "source": [
    "result = job.result()\n",
    "print(f\">>> {result}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "56067da5-7d2b-4016-a73a-d5508c4dcf31",
   "metadata": {},
   "source": [
    "Finally, to extract different information about the result:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "1b6e6229-cf42-4f90-90a3-9687fce6d513",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  > Expectation value: 0.8534781134132173\n",
      "  > Metadata: {}\n"
     ]
    }
   ],
   "source": [
    "expval = result.values[0]\n",
    "metadatum = result.metadata[0]\n",
    "\n",
    "print(f\"  > Expectation value: {expval}\")\n",
    "print(f\"  > Metadata: {metadatum}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "48e707f2-e089-4078-8b47-803775eb1db6",
   "metadata": {},
   "source": [
    "You can keep invoking the `run()` method again with the different inputs:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "5b4b7bfd-e88c-4392-bed6-275d83012b76",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1290.63x200.667 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  > Observable: ['IY']\n",
      "  > Expectation value: -1.582539029327245e-16\n",
      "  > Metadata: {}\n"
     ]
    }
   ],
   "source": [
    "circuit = random_circuit(2, 2, seed=1).decompose(reps=1)\n",
    "observable = SparsePauliOp(\"IY\")\n",
    "\n",
    "job = estimator.run(circuit, observable)\n",
    "result = job.result()\n",
    "\n",
    "display(circuit.draw(\"mpl\"))\n",
    "print(f\"  > Observable: {observable.paulis}\")\n",
    "print(f\"  > Expectation value: {result.values[0]}\")\n",
    "print(f\"  > Metadata: {result.metadata[0]}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "52430fbd-95ad-4e2a-8083-28f90c2bdb84",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Run multiple experiments (batching)\n",
    "You can also provie compound inputs to the `run()` method in order to execute multiple experiments sequentially:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "e0092b24-4027-4cb1-922f-479d51c00e40",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 621.739x200.667 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1290.63x200.667 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  > Observables: [PauliList(['XZ']), PauliList(['IY'])]\n",
      "  > Expectation values: [0.8534781134132173, -1.582539029327245e-16]\n",
      "  > Metadata: [{}, {}]\n"
     ]
    }
   ],
   "source": [
    "circuits = (\n",
    "    random_circuit(2, 2, seed=0).decompose(reps=1),\n",
    "    random_circuit(2, 2, seed=1).decompose(reps=1),\n",
    ")\n",
    "observables = (\n",
    "    SparsePauliOp(\"XZ\"),\n",
    "    SparsePauliOp(\"IY\"),\n",
    ")\n",
    "\n",
    "job = estimator.run(circuits, observables)\n",
    "result = job.result()\n",
    "\n",
    "[display(cir.draw(\"mpl\")) for cir in circuits]\n",
    "print(f\"  > Observables: {[obs.paulis for obs in observables]}\")\n",
    "print(f\"  > Expectation values: {result.values.tolist()}\")\n",
    "print(f\"  > Metadata: {result.metadata}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dca5a09a-5986-4c86-8c07-02efa908c9cd",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Run multiple experiments (asynchronous)\n",
    "Creating multiple jobs will run the experiments in parallel:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "82e9a1be-6faf-4916-93c6-5b399ec20ad2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfIAAACuCAYAAADNqo/oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAgT0lEQVR4nO3deXxU9b3/8ddMQshCAgmLCSQQIInsRFZBQUOhFdmsGlERxWLBWsS6EHqlrXpvLYJcq8hVoVLUX4VGsKKCiiiiIIsgqwRICASyCiEJCQnZ5/fHSDQmgUyY7Uzez8djHg+Ys3w/w/ky73POnPM9JovFYkFEREQMyezqAkRERKTpFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDMzb1QVIXRYLVFe4ugrbmFuAyeTqKjyDEbf/ReoHnsNisVBSXeXqMmzib/bC1Aw7oILcDVVXwBeLXV2FbeJmg5ePq6vwDEbc/hepH3iOkuoqgjdtdHUZNskfNYYAr+YXazq1LiIiYmAKchEREQNTkIuIiBiYglxERMTAmt9VAdJsVVugsgrMJvAy6+rq5qiq2vryMltfIp5AQS4e6/tzcCAdMvIgPQ/yin+c5uMN4cEQHgLdO0DvTuDt5bpaxf4sFjh2GpKzrds/PQ+Ky36c3qqldftHhECPjtCtvXbuxJgU5OJRqi1wMB22JkPK9w3PV14Jx89YX18dhUBfGBYF18VAaz/n1Sv2V1YJO1Ph62T4vrDh+c6XwZFs62vjIQhtDdfHwJBu1h09EaNQd/Ug+1M388RrcbXe8/UJILx9DKMHTOWW6x7Gy4PvsTx7Hv6949IB3pCiUvj0O2uo/3qg9cvciEdnzb0PHPseVu2w9gVb5ZyDNbvgyyNw9zDo2t7+9Yk4guf+j27G4mLvYkiPm7FgIb8oh43fvsVrHz7GqdOHefT2Za4uzyG+OW79Ei6vvLL1lFZYg2D/KbhnOPi3tE99ztbc+kB1Nby/1xrCV+pMESz+FOJ6wfhY6zUVIu5Ml3t4oOhOAxg98B7GDJzKHTfOYfHDO2jfOpyPv3mdgvNnXF2e3X1xGFZuv/IQ/6mkLFjyGZwvtd86nak59YGqanjza/uE+EUWYFMSvL3Nun4Rd6Ygbwb8fALo0eVaLBYLWWdTXV2OXW1Nhvf3OGbdWQXw2ibrUbrReWofsFisO3H7Tzlm/d+mQeJOazsi7kpB3kxk//DlHeQf4uJK7CcjD/6z28Ft5MN73zq2DWfxxD6wLcUato70zXHrS8Rd6TdyD1RaUcK54lwsFuvvox9uf41jmXvpETGE8PYxri7PLiqrrEdi1TYeKT12EwT5QeEFeOGTxi2zMxX6R0CvTrbX6SrNoQ+cPQ8f7LVtmaZsf7DuzF0dBm38bWtPxBk8/og8NzeXhIQEoqKi8PX1JSIigkceeYTi4mKmT5+OyWRiyZIlri7Trt769Cluf7o98c90YMYL/fhw+ytc3+dWnpn2vqtLs5svj1hPfdsqyM/6ZRxk4y1m73xj3XkwiubQB/6z23qrmS2auv1LKzznzIx4Ho8+It+3bx9jx44lJyeHgIAAevXqRVZWFosXLyY1NZW8vDwAYmNjXVuonY0bOoOR/eKprK7gRPZBEjcvIPdcBj4tfGvmOXh8C08uH1tn2cqqcqqrq9iw0H1Tq6oatiQ7t82CEuvgMgMindtuU3l6HzhTBIcyndvmgXTIL4bgAOe262mq9x+gas4fMf92Ol7xt7m6HI/gsUGem5vLhAkTyMnJ4fHHH+epp54iMDAQgIULFzJ37ly8vb0xmUz069fPxdXaV6d20QyIGQ3AkB5j6dP1eh595XpeevdB5t3zbwD6dhvBh8/Wvtk291wWv188iEnDZzm9ZlskZVqD1dm2JhsnyD29D2xLcX6bFou13XGxzm9b5FI89tT67NmzycjIYNasWSxatKgmxAESEhLo378/lZWVREZGEhQU5MJKHa935HBGD5jK5v2JHErbVu885ZVlPPPWrfSJvJ67f/Gkkyu0ze4Trmn3+JmmDTTiDjypD1gssMtFfcBV7YpcikcG+eHDh0lMTKRdu3bMnz+/3nkGDhwIQP/+/Wu9f+LECSZOnEhgYCDBwcHce++9nD171uE1O9qU0X/GbPbizQ1/qXf6S+8+SHlFKXMmv+HcwprgpAs3R7qBu4Kn9IH8Ytfd319QYr1QTsSdeGSQr1q1iurqaqZMmUKrVq3qncfPz3q1y0+DvKioiLi4ODIyMli1ahXLli1jy5YtjB8/nupqY48K0aldFHH972Tvsc85eHxLrWnvbV3MzsPreGbaWnx93Puy3KJS15xWvyg9z3VtXylP6QOu3gaubl/k5zwyyDdt2gRAXFxcg/NkZGQAtYN82bJlZGZmsnbtWsaPH098fDwrV65kx44dfPDBB44t2gnu+sU8zCYzb3764xHZvmNf8Pr6ufx56mpCQyJdV1wj5RS4uP1zrm3/SnlCH8h28TZwdR8U+TmTxeJ5YxZFRESQkZHB3r17670ivbKykrCwMHJzc0lNTaVbt27Aj8H/xRdf1Jq/e/fu3HjjjSxfvrxJ9QwaNIicnJxGz+/j7ceyWY6/micnL41Ziwdzz5inuOW6K7u4acaSaMorHX/OMaznaK6b9ka90y7eI3wpQb5gNlvH5i68xOnZhu4zPp26ja+W3dH4gpvAWdsf7NsHwDn9oO/YeVx94+/qnXa5PtDY7Q8N94Gkz14kaeMiGyo2JouPD2eW/p/d1+vIq9bbz/w9pvJyu67TWUJDQ9m9u2kjXHnkVevFxdYHT1+4UP8XSmJiIrm5uQQGBtK1a9ea95OSkoiPj68zf+/evUlKSmpyPTk5OWRmNv5eGd8Wjj+1WVpewlNv3MKwXhPt8gWenZVFaYXjz3n7tM9tcNrFe4Qbw2xu2uAeZaWlNm3LpnDG9gf79wFwTj+ILGr42aSN7QNN3f4ARYXnHN4H3IJvS1q4ugYbZWVnQWnZ5Wf0MB4Z5KGhoeTn57Nnzx6GDRtWa1p2djZz5swBoF+/fph+8qzK/Px82rRpU2d9ISEhHD169IrqsYWPt+MfiL3l4Lscz95PZm4ym/cn1pm+/IkkOgR3bvT6wjp2dMoReevAhv9tGnMRki1H5PXxMlXRqZNjh3hzxvYH+/cBcE4/8GvZ8C+Cl+sDth6R19u+r7fD+4A7sPj4YLTH63QM62joI/Km8sggHz16NIcPH2bBggWMGTOGmBjrkJS7du1i6tSp5OZaj+qcNRCMradLqsrhi8UOKuYHYwZOZczAqXZbX0pyCl4+dltdg86Xwp/erX9aY4bcfPrX1iOxwlJ4+j3b2596+xjeeTbD9gVt4IztD/bvA+CcfrD/FKzYUv+0y/WBK93+AEsWzqNXp3lNW9hAiqsqCd600dVl2CQ5JZkAL4+MtUvyyIvdEhISaNu2Lenp6fTu3Zu+ffsSHR3NkCFD6NatG6NGjQLq3noWHBxMQUFBnfXl5eUREuI5D5owsla+rh3vOqKt69oWqwgX/1d0dfsiP+eRQR4eHs6WLVsYN24cvr6+pKWlERISwtKlS1m/fj3JydbxPX8e5D179qz3t/CkpCR69uzplNrl8rq0c13bnfUl7nLBARDoe/n5HNK2P1zi1x0Rl/DIIAdrKK9bt46ioiKKiorYuXMnM2bMoLi4mLS0NMxmM3369Km1zPjx49m6dWvNrWkAO3fuJDU1lQkTJjj7I0gDBne9/DyO0L0DhNQ/LIE4kcnkuj4wuJtr2hW5FI8N8oYcOnQIi8VCdHQ0/v61z9HOmDGDsLAwJk2axLp161izZg133XUXQ4YMYdKkSS6qWH6uV0frkZGzXe8ZT//0CMOjwXT52ezKZIJhUU5u1AOZ+/ejxacf6YEpdtTsgvzgwYNA3dPqAEFBQWzatImwsDDuvPNOHnjgAYYPH866deswm5vdP5XbMpthZA/nthnsD/0inNumNKxdIPQOd26b/SP05DNxT83u8r5LBTlYB39Zt26dM0tqkowzKTyfeB/ninMJ8G3NnMlvEBnau9Y8OXlpPJ84jWNZewkN7srSx/bVTNt7bBPLP/ojF8rOYzKZGNpjHNNvfq5mh+Wdzc+zcfebVFuqiWh/NU9MXkErvzZO/ISXNvJq+DYNMpw0XObka8FL+3Ju5bZBkJJj+zPJm8LPB3490PHtiDRFs/tqulyQG8VL787k5qEzeGNuMpPj5vJ84rQ68/j7BnH/TX/lybtX1pkW6BfMvCn/ZvmcJF555FsOndzGxm/fAuDb5I1s2LWCl2ZtZ/mcJKLDB/LPj93rdhsvM9zdhHAtvGD7gy+GRUGPMNvacYWMMyk8smQ40xbE8PuXBpOWc6je+f5v7Wzu+VskY+aYOJa5r9a08opSnnrjFqYtiGHmC/2Zu2wMmbnHANh15BMeemkQM/63Hw+/fC2pWfsd/ZEuKTgAbrExXJuy/QFuHQit3XsIemnGml2Qb9q0CYvFwrhx41xdSpPlnz9NcsZuRg+4B4ARfW/jTEF6zRfuRUH+IfTpej2+PnXPB0Z1uoawttYrd3xa+NK9Yyzf56cBcDxrP326Xo+/r/XRr0N63Mzne/6fAz9R03QMhtsH27bMC59Y7x9uzD3nYL3VaNIA22tzhcbs3AGM6Hc7f39oK1cFd6l3+s1DZ7Ai4ShLH9vPsN6TeGH1AxSV5DN/1RQSJr/JsscPMGPc8zy3cooDP03jXNvdtgvQbN3+YN2RG+Sii+tEGqPZBbknOFOQTkhQGF4/DHxgMpnoENyZ0wWnmrS+vMIcthxYw9Ce4wGIDh/InpTPyCvMwWKx8PnetykpK6KwxP0e+zQsynGnPMODYWYc+BpgnMrG7twB9Os2kvZt6v+B2aeFL0N73lwz4mHPztfyfX4aWWdTCfJvW/PzTd9uIzhdcIqUjD0O+kSNYzLBnUPhmvr3Sa7Y4K4QP9jajoi7UpA3c8Wlhfx5xQTuuDGBqyMGARAbFUf8DU/wpxXjmf3ytbQJaA+Al9k9L6m4oQfcMxxa2rG8PuHw+9HWAWiMwN47dxe9t/UlhvWeRHi7aApLznIobRsA2w59QElZETk/nMVxJS8zTB0Oo3ra70p2kwnG9Ia7hlkvrhRxZ+75zSyX1L5NBHmF2VRVVeLl5Y3FYuF0/ik6tLFtXOyS0iKefP0mhveexO03PFZr2sThDzFx+EMAJJ3cQfvW4QT4BtntM9jboK7W+7z/vQOONv5Bc3X4+8Ctg2BgpHsdhc1+eRiZufU/Ee3VR/c6pM2Vn/+NrNxjLJz5Ob4+/vxl6hqWf/xflJadp2eXYXS5qpfb7NyZzTBxgHUHbNUOOFPU9HVdFWQN8EgXDjwkYgv3+F8oNglu1YGoTgP4bM+/+NXgaWw5+C7t2oTTqV3jb3K9UHae/3r9JgZdfRNTRv+pzvSzhdm0DQqjtLyENzf8hTtuTLDnR3CI4AB4cBQcyoStyXAku/HLtvaz3ps8PNp1o4ZdyuKHt19yegvvlnbZubto9eZFbP3uPyyc8Rm+PtarvGKj4oiNsj7qt7yyjMn/HUqXq3o1af2O0q0DzLkZdp2w9oHsgsYv2ynYOlbAoK7QwsthJYrYnYLcoP5w21KeT5zGqk1/w983iDl3rADgf1c/wLBeExneeyKl5SXcvzCGisoyikvPcddfwxk9YCrTb57Pf7a+xNH0bygtL2brwf8AMLJ/PFN+Yb06/Y//+CUWSzUVVeWMHjCVSXZ6zKWjmUzWo7I+4dajsoPpkJ5nvU0t9zxYLD/OG30VhIdYj+R7djT27WX22Lm7aM2XL/DFvlUsmPFZrVsOL+7cAbz92f8Q231Uk9bvaD7ecF00DI+CE2esZ2gy8qz94KdXq7f2s27/iBDo0RG6tHWvszAijWWyWH761SbuwFlPv7KnuNk45elnV+ov71qffNXaD5651dXV1K+p2z/99FGeT5xGYcnZmp27rmF9gdo7eC+umcnOI+vJK8ohyL8t/i0DefOP1ovizhRkcPezEYSFdMOvpfWuBR/vlrw8eycvrP4t353YQlV1JT27DGPWLS/XGVvA3fvBxe0f5Av/rYHFLsmITz/LHzWmWT79rPl9YmnWPPmIK6LD1Q2egn88/vWaP//h9qUNrqN9m3A2Pl//vv1j8f+4sgLdwMXt78n9QJofA59MFBEREQW5iIiIgSnIRUREDExBLiIiYmC62M0NmVtYr/41ErMBhjE1CiNu/4vUDzyHv9mL/FFjXF2GTfzNzXMAAAW5GzKZ3PsWHnEsbX9xByaTqVneymVEOrUuIiJiYApyERERA1OQi4iIGJiCXERExMAU5CIiIgamIBcRETEwBbmIiIiBKchFREQMTEEuIiJiYApyERERA1OQi4iIGJiCXERExMAU5CIiIgamIBcRETEwBbmIiIiBKchFREQMTEEuIiJiYN6uLkBERJrOYrFARZWry/BsLbwwmUyurqJBCnIRESOrqKJy3mpXV+HRvJ+NBx/3jUudWhcRETEwBbmIiIiBKchFREQMTEEuIiJiYApyERERA1OQi4iIGJiCXERExMAU5CIiIgamIBcREbt567sv8Vl0N29992W909POncFn0d1M//g1J1fmuRTkIiIiBqYgFxERMTAFuYiIiIEpyEVERAysWQR5bm4uCQkJREVF4evrS0REBI888gjFxcVMnz4dk8nEkiVLXF2miIiIzdz3uWx2sm/fPsaOHUtOTg4BAQH06tWLrKwsFi9eTGpqKnl5eQDExsa6tlBxmNwi+DoFDqbDuQvW94rL4EA69O4EXs1id7b5sljgxBlrHygstb5XWAr/2gbXx0CXtuDGj5oWuSyPDvLc3FwmTJhATk4Ojz/+OE899RSBgYEALFy4kLlz5+Lt7Y3JZKJfv34urlbsrbIKVu+Cnan1TKuGf34Fwf5w/0jo3Nb59YnjnbsAK76CtNza71sssPuE9dW9A0wbAYG+rqmxufrpvtPDG//J+uN7OFd2gUAfX26LGcr8G+7Gx8ujI8puPPpYZPbs2WRkZDBr1iwWLVpUE+IACQkJ9O/fn8rKSiIjIwkKCnJhpWJvVT8EdX0h/lP5JfDyRjiZe+n5xHgKL8DiT+uG+M+lnrbOd77UOXV5Ol9vHwBKKsrrnV5cUQaA3w/zAfzuml9y8P5FnJ29nN33zufAmVM8t2Otw2v1FB4b5IcPHyYxMZF27doxf/78eucZOHAgAP37969572LwDxkyhJYtW2LSOTdD+uwQJGU1bt6KKlj+JZRXOrYmca63t8HZ842b90wRrNrh2Hqai66t2wNwJC+z3ulHzlrfj/xhPoBe7cIJ8LGeErEAZpOJYwU5ji3Ug3hskK9atYrq6mqmTJlCq1at6p3Hz88PqB3kx44d49133yU0NJTBgwc7pVaxr8oq+DrZtmUKS2HfKcfUI86Xcw6O2pgDhzKtgS5X5pqruhIR2JZ3jmwn63x+rWnlVZW8uvdTTJgYHzWw1rSFOz8g+KX76fTKgxw4c5LZA8Y6s2xD89gfIDZt2gRAXFxcg/NkZGQAtYN85MiRZGdnA/D000/z9ddfO7BKcYSDGT9e1GSLrckwpJv96xHns3VH7qJtKTBpgH1raW68zV68PPo3xL//AgPfnMu0PnF0b9OB70vOsfrIDpLOZjB36CSuDulYa7mEoRNJGDqRw2czWXX4a0JbtXHNBzAgjw3ykydPAtClS5d6p1dWVtaE9E+D3Gy2/0mKQYMGkZOj00TO0nfsPK6+8Xc2L5d2upLw8Ej7FyROF/fQ+7TtMvDyM/7MO+u28/uJ8Q6oyHH8vFqQdMffXF1GLTd3v4Yv73qaRbs+5F+HvuJs6XkCWrQktkMkbw+bTXyPaxtctmfbTvRr35n7P3qVjZP/5MSqGxYTHc2FqgqHthEaGsru3bubtKzHBnlxcTEAFy5cqHd6YmIiubm5BAYG0rVrV4fWkpOTQ2Zm/b8Xif1Fl1c1aTmzlzc5p3Op+uFiHDEui6lFk5arNnkb7v+qf4uWri6hXoPCuvPviX9o0rIV1VWk5Gfbt6ArkJWdTYkbfy94bJCHhoaSn5/Pnj17GDZsWK1p2dnZzJkzB4B+/fo5/IK20NBQh65favPxrm7SclUVpYR2aGfnasQVLJUlTVuw6gKdOnWybzEO5ufVtJ0Wd3GurIT3U3YxMWoQrVv6czA3nfnb1zIm0n1uCe4YFuaUI/Km8tggHz16NIcPH2bBggWMGTOGmJgYAHbt2sXUqVPJzbXek+KMgWCaerpEmub4aVi80fblrunmy8s/XDchxvbZIVi3z/blZk4eyaqnjdUHLOWVVM5b7eoymswErEzaypzN/6K8qpIO/kHcEj2Evwy/zdWl1UhOScHk475x6b6VXaGEhARWrlxJeno6vXv3pkePHpSWlnLs2DHGjh1LZGQkGzZsqPX7uHiGru2hYxvIKrBtueuiHVGNuMLQ7vDxAet4Ao3VwksXO7pCUEt/PrljnqvLMDSPvf0sPDycLVu2MG7cOHx9fUlLSyMkJISlS5eyfv16kpOtl7UqyD2PyQS/7GPbMpHtIFq/gHiMQF8YbuOO2YgY8HfPn5tFLsljj8gBevbsybp16+q8f/78edLS0jCbzfTpY+M3vhhCbBcYf75xp1evCoLpN4BZY/94lFsGQH4xfNeIM+X9O8P4WIeXJOIQHh3kDTl06BAWi4WYmBj8/f3rTF+zZg0ASUlJtf4eGRnJoEGDnFeoXJHRvaGNv/UUa30jfHmZ4ZrOcOsgHYl5Ii8z3D8CPjkAW1PgQj0jhvr7wIir4Vd9wAF3noo4RbMM8oMHDwINn1aPj4+v9+/33Xcfb7zxhkNrE/sa1BUGRMKRLOtAMSVl4O0FYW2sv6PqQRmezcsM42JhTB/Yc9I6rnpZBbRsAdFXQWxncONrmEQapVl24csFucVicWY54mBmE/TqZH1J8+TjDdd2t75EPI2CXESkGXr36E6+OPUdi+KmMmXdyxw+m4mftw8d/IN4efRviAq+/NWf0ctm4+PVouZJZglDJ3JHjx/H7Th7oYhfvfPjqHMllWWcKDhN5kOvEeJX+xkYbx7czG83LGP1pEeZFH3551zcvHo+OcUFmE1mAn18eWHUfVxzVWSd+T4+vpentq6m2mKhsrqKxwaP594+IwF49PM3WZf6LScLc/nm3r8R26Hu8kbQLIP84jjsIiLN1fvHdnFPrxEAPNBvFDd1jcVkMvHKng08uOEffHbnnxu1nrcnPNxgALb1C2T3fT8+ffKFXev4Kv1wnRBPO3eG5Qe/YGhYVKPrXzlhNm18AwBYm7KLBz55jW/ve67WPBaLhWkfvcLGyX+mX/vOpJ07Q99/PsGvYwYT6OPHrTFDeHzIeOJWPdPodt1RswxyERFPV1BazDVvzOVCZTnhgW0pq6rgxLnTTOl1PUtG/4btmcksv+lBWnh5M7bbNTXLDe0Yzd93r3dITSsObuavIybXeq/aUs2DG5bx4qj7SNj8dqPXdTHEAQrLSjBR/20nJkycK7UO2V1YfoG2fq1o+cNoeCMietr4CdyTglxExAO18Q1gcs/hBPr4Mm/YrXx6Yj8Ldr7P0l/NYGPaAa7tGEMLr7oR8PKeT5gQ1fgHzvzmo1exAINDu/PsyDtp7x9U73zbM5MpKC1mXPfaj5d7cfdHDOt0NQNCbR+N5/6PXuHLdOvdRe/fmlBnuslk4u0JD3PHB38nwNuX/LJi3pn0B3zq+dxGphsuREQ81IHTJ2tOe+/5/kTNnz9I2c2k6Lq30j63Yy2p+Tn8dcSdjVr/53f+hT3TFvDN1Gdp6xfI9I9fbXDeFQc3M6X3CLzNXjXvfXcmnfeSv+HJa29p7Eeqvc6bH+L4zCU8fd0dzPtqVZ3pldVVzN++lncmPsqxmYvZEP8k93/0KrklhU1qz10pyEVEPNT+nwV5/w6RWCwWNqYd4KausbXmfWHXOtam7OLD2+Y2+olqnYOsDxlq4eXN7IE3sTXjaL3znS8vZc3RHUzrc0Ot97/OPMLJwlx6LX+M6GWz2Zl9jIc+Xc7SfbY9LOHePiPZnJ7E2QtFtd7ff/okWcX5NafQB4V1p1OrEPadPmnT+t2dglxExANlFuVhMkGnwBAAvjtzir7tI9iVk0qPtp1o5fPjIAov7l5P4pFtfBz/X7V+ewbr6eu1KbvqrL+4vJSCH357Bkg8so3Yeq4aB1h9dDv9OnSmR9va94DOjB3Dqd+9QsqMxaTMWMzQsChe+eV0ZsaOuWTbBaXFZJ3Pr/n7+ym7aOsbSIhv7YvowgPbknO+gMNnrY+mPZafw/Fz3xMTElZvnUblWT8UiIgIAPtOp9W6mrx1ywBe27eRtn6BTIz68bR6RtFZEja/TbfWHRiT+CwALb28+fqe/wHg25wTzBpwU531f19yjskfvEhVdTUWoGvrDvxz7O9qps/csIzx3QcyIWogKw5uZnrfOJs/Q0Ntnysr4a4PX+JCZQVmk4n2foG8d+sTNY+k/mnbr/zyAe7+cDFmk4lqi4UXfzGt5kzCQ5++zsfH95FTXMD4Nc8R6OPH4Qf+bnOdrmayaPQTERHDsvUxpv1XzGHjHX+iQ0Dry857pqSQe9cv4eP4J6+kxCZxZds/5/1svFs/xlRBLiJiYEZ/HrkRuHuQ6zdyERERA1OQi4iIGJiCXERExMD0G7mIiIFZLBaoqHJ1GZ6thVfNFfHuSEEuIiJiYDq1LiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmD/H7/vivPhEq4jAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 621.739x200.667 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1290.63x200.667 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  > Observables: [PauliList(['XZ']), PauliList(['IY'])]\n",
      "  > Expectation values [0]: 0.8534781134132173\n",
      "  > Metadata [0]: {}\n",
      "  > Expectation values [1]: -1.582539029327245e-16\n",
      "  > Metadata [1]: {}\n"
     ]
    }
   ],
   "source": [
    "circuits = (\n",
    "    random_circuit(2, 2, seed=0).decompose(reps=1),\n",
    "    random_circuit(2, 2, seed=1).decompose(reps=1),\n",
    ")\n",
    "observables = (\n",
    "    SparsePauliOp(\"XZ\"),\n",
    "    SparsePauliOp(\"IY\"),\n",
    ")\n",
    "\n",
    "job_0 = estimator.run(circuits[0], observables[0])\n",
    "job_1 = estimator.run(circuits[1], observables[1])\n",
    "\n",
    "result_0 = job_0.result()\n",
    "result_1 = job_1.result()\n",
    "\n",
    "[display(cir.draw(\"mpl\")) for cir in circuits]\n",
    "print(f\"  > Observables: {[obs.paulis for obs in observables]}\") \n",
    "print(f\"  > Expectation values [0]: {result_0.values.tolist()[0]}\") \n",
    "print(f\"  > Metadata [0]: {result_0.metadata[0]}\")\n",
    "print(f\"  > Expectation values [1]: {result_1.values.tolist()[0]}\") \n",
    "print(f\"  > Metadata [1]: {result_1.metadata[0]}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4956491d-97bc-404a-86b1-b97ea61ffbf9",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Parametrized states\n",
    "Many real world applications of quantum computers depend on preparing quantum states according to certain parametrization or _ansatz_. The _Estimator_ primitive offers support for these scenarios by accepting parametrized circuits as inputs, along with one extra argument to bind them: `parameter_values`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "e6b32975-c56a-48b4-9e67-565a520f72b9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 538.128x200.667 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  > Observable: ['ZI']\n",
      "  > Parameter values: [0, 1, 2, 3, 4, 5]\n",
      "  > Expectation value: -0.6485568434766461\n",
      "  > Metadata: {}\n"
     ]
    }
   ],
   "source": [
    "from qiskit.circuit.library import RealAmplitudes\n",
    "\n",
    "circuit = RealAmplitudes(num_qubits=2, reps=2).decompose(reps=1)\n",
    "observable = SparsePauliOp(\"ZI\")\n",
    "parameter_values = [0, 1, 2, 3, 4, 5]\n",
    "\n",
    "job = estimator.run(circuit, observable, parameter_values)\n",
    "result = job.result()\n",
    "\n",
    "display(circuit.draw(\"mpl\"))\n",
    "print(f\"  > Observable: {observable.paulis}\")\n",
    "print(f\"  > Parameter values: {parameter_values}\")\n",
    "print(f\"  > Expectation value: {result.values[0]}\")\n",
    "print(f\"  > Metadata: {result.metadata[0]}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a6783541-2e7e-4378-ba3a-ac13ee922d8b",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Configuration and options\n",
    "On top of this basic usage, `Estimator` classes can also support custom configuration through two kinds of options:\n",
    "1. Instance level options which serve as defaults.\n",
    "2. Run options to update defaults for a single job.\n",
    "\n",
    "The particualr `Estimator` that we have been using so far accepts a `shots` option to fabricate a random sampling which mimics the process that usually takes place in real hardware. This will result in a non-exact, statistical, result, with the corresponding variance reported along in the metadata."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "5462025f-5787-457f-8454-9efee166218c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfIAAACuCAYAAADNqo/oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAgT0lEQVR4nO3deXxU9b3/8ddMQshCAgmLCSQQIInsRFZBQUOhFdmsGlERxWLBWsS6EHqlrXpvLYJcq8hVoVLUX4VGsKKCiiiiIIsgqwRICASyCiEJCQnZ5/fHSDQmgUyY7Uzez8djHg+Ys3w/w/ky73POnPM9JovFYkFEREQMyezqAkRERKTpFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDMzb1QVIXRYLVFe4ugrbmFuAyeTqKjyDEbf/ReoHnsNisVBSXeXqMmzib/bC1Aw7oILcDVVXwBeLXV2FbeJmg5ePq6vwDEbc/hepH3iOkuoqgjdtdHUZNskfNYYAr+YXazq1LiIiYmAKchEREQNTkIuIiBiYglxERMTAmt9VAdJsVVugsgrMJvAy6+rq5qiq2vryMltfIp5AQS4e6/tzcCAdMvIgPQ/yin+c5uMN4cEQHgLdO0DvTuDt5bpaxf4sFjh2GpKzrds/PQ+Ky36c3qqldftHhECPjtCtvXbuxJgU5OJRqi1wMB22JkPK9w3PV14Jx89YX18dhUBfGBYF18VAaz/n1Sv2V1YJO1Ph62T4vrDh+c6XwZFs62vjIQhtDdfHwJBu1h09EaNQd/Ug+1M388RrcbXe8/UJILx9DKMHTOWW6x7Gy4PvsTx7Hv6949IB3pCiUvj0O2uo/3qg9cvciEdnzb0PHPseVu2w9gVb5ZyDNbvgyyNw9zDo2t7+9Yk4guf+j27G4mLvYkiPm7FgIb8oh43fvsVrHz7GqdOHefT2Za4uzyG+OW79Ei6vvLL1lFZYg2D/KbhnOPi3tE99ztbc+kB1Nby/1xrCV+pMESz+FOJ6wfhY6zUVIu5Ml3t4oOhOAxg98B7GDJzKHTfOYfHDO2jfOpyPv3mdgvNnXF2e3X1xGFZuv/IQ/6mkLFjyGZwvtd86nak59YGqanjza/uE+EUWYFMSvL3Nun4Rd6Ygbwb8fALo0eVaLBYLWWdTXV2OXW1Nhvf3OGbdWQXw2ibrUbrReWofsFisO3H7Tzlm/d+mQeJOazsi7kpB3kxk//DlHeQf4uJK7CcjD/6z28Ft5MN73zq2DWfxxD6wLcUato70zXHrS8Rd6TdyD1RaUcK54lwsFuvvox9uf41jmXvpETGE8PYxri7PLiqrrEdi1TYeKT12EwT5QeEFeOGTxi2zMxX6R0CvTrbX6SrNoQ+cPQ8f7LVtmaZsf7DuzF0dBm38bWtPxBk8/og8NzeXhIQEoqKi8PX1JSIigkceeYTi4mKmT5+OyWRiyZIlri7Trt769Cluf7o98c90YMYL/fhw+ytc3+dWnpn2vqtLs5svj1hPfdsqyM/6ZRxk4y1m73xj3XkwiubQB/6z23qrmS2auv1LKzznzIx4Ho8+It+3bx9jx44lJyeHgIAAevXqRVZWFosXLyY1NZW8vDwAYmNjXVuonY0bOoOR/eKprK7gRPZBEjcvIPdcBj4tfGvmOXh8C08uH1tn2cqqcqqrq9iw0H1Tq6oatiQ7t82CEuvgMgMindtuU3l6HzhTBIcyndvmgXTIL4bgAOe262mq9x+gas4fMf92Ol7xt7m6HI/gsUGem5vLhAkTyMnJ4fHHH+epp54iMDAQgIULFzJ37ly8vb0xmUz069fPxdXaV6d20QyIGQ3AkB5j6dP1eh595XpeevdB5t3zbwD6dhvBh8/Wvtk291wWv188iEnDZzm9ZlskZVqD1dm2JhsnyD29D2xLcX6bFou13XGxzm9b5FI89tT67NmzycjIYNasWSxatKgmxAESEhLo378/lZWVREZGEhQU5MJKHa935HBGD5jK5v2JHErbVu885ZVlPPPWrfSJvJ67f/Gkkyu0ze4Trmn3+JmmDTTiDjypD1gssMtFfcBV7YpcikcG+eHDh0lMTKRdu3bMnz+/3nkGDhwIQP/+/Wu9f+LECSZOnEhgYCDBwcHce++9nD171uE1O9qU0X/GbPbizQ1/qXf6S+8+SHlFKXMmv+HcwprgpAs3R7qBu4Kn9IH8Ytfd319QYr1QTsSdeGSQr1q1iurqaqZMmUKrVq3qncfPz3q1y0+DvKioiLi4ODIyMli1ahXLli1jy5YtjB8/nupqY48K0aldFHH972Tvsc85eHxLrWnvbV3MzsPreGbaWnx93Puy3KJS15xWvyg9z3VtXylP6QOu3gaubl/k5zwyyDdt2gRAXFxcg/NkZGQAtYN82bJlZGZmsnbtWsaPH098fDwrV65kx44dfPDBB44t2gnu+sU8zCYzb3764xHZvmNf8Pr6ufx56mpCQyJdV1wj5RS4uP1zrm3/SnlCH8h28TZwdR8U+TmTxeJ5YxZFRESQkZHB3r17670ivbKykrCwMHJzc0lNTaVbt27Aj8H/xRdf1Jq/e/fu3HjjjSxfvrxJ9QwaNIicnJxGz+/j7ceyWY6/micnL41Ziwdzz5inuOW6K7u4acaSaMorHX/OMaznaK6b9ka90y7eI3wpQb5gNlvH5i68xOnZhu4zPp26ja+W3dH4gpvAWdsf7NsHwDn9oO/YeVx94+/qnXa5PtDY7Q8N94Gkz14kaeMiGyo2JouPD2eW/p/d1+vIq9bbz/w9pvJyu67TWUJDQ9m9u2kjXHnkVevFxdYHT1+4UP8XSmJiIrm5uQQGBtK1a9ea95OSkoiPj68zf+/evUlKSmpyPTk5OWRmNv5eGd8Wjj+1WVpewlNv3MKwXhPt8gWenZVFaYXjz3n7tM9tcNrFe4Qbw2xu2uAeZaWlNm3LpnDG9gf79wFwTj+ILGr42aSN7QNN3f4ARYXnHN4H3IJvS1q4ugYbZWVnQWnZ5Wf0MB4Z5KGhoeTn57Nnzx6GDRtWa1p2djZz5swBoF+/fph+8qzK/Px82rRpU2d9ISEhHD169IrqsYWPt+MfiL3l4Lscz95PZm4ym/cn1pm+/IkkOgR3bvT6wjp2dMoReevAhv9tGnMRki1H5PXxMlXRqZNjh3hzxvYH+/cBcE4/8GvZ8C+Cl+sDth6R19u+r7fD+4A7sPj4YLTH63QM62joI/Km8sggHz16NIcPH2bBggWMGTOGmBjrkJS7du1i6tSp5OZaj+qcNRCMradLqsrhi8UOKuYHYwZOZczAqXZbX0pyCl4+dltdg86Xwp/erX9aY4bcfPrX1iOxwlJ4+j3b2596+xjeeTbD9gVt4IztD/bvA+CcfrD/FKzYUv+0y/WBK93+AEsWzqNXp3lNW9hAiqsqCd600dVl2CQ5JZkAL4+MtUvyyIvdEhISaNu2Lenp6fTu3Zu+ffsSHR3NkCFD6NatG6NGjQLq3noWHBxMQUFBnfXl5eUREuI5D5owsla+rh3vOqKt69oWqwgX/1d0dfsiP+eRQR4eHs6WLVsYN24cvr6+pKWlERISwtKlS1m/fj3JydbxPX8e5D179qz3t/CkpCR69uzplNrl8rq0c13bnfUl7nLBARDoe/n5HNK2P1zi1x0Rl/DIIAdrKK9bt46ioiKKiorYuXMnM2bMoLi4mLS0NMxmM3369Km1zPjx49m6dWvNrWkAO3fuJDU1lQkTJjj7I0gDBne9/DyO0L0DhNQ/LIE4kcnkuj4wuJtr2hW5FI8N8oYcOnQIi8VCdHQ0/v61z9HOmDGDsLAwJk2axLp161izZg133XUXQ4YMYdKkSS6qWH6uV0frkZGzXe8ZT//0CMOjwXT52ezKZIJhUU5u1AOZ+/ejxacf6YEpdtTsgvzgwYNA3dPqAEFBQWzatImwsDDuvPNOHnjgAYYPH866deswm5vdP5XbMpthZA/nthnsD/0inNumNKxdIPQOd26b/SP05DNxT83u8r5LBTlYB39Zt26dM0tqkowzKTyfeB/ninMJ8G3NnMlvEBnau9Y8OXlpPJ84jWNZewkN7srSx/bVTNt7bBPLP/ojF8rOYzKZGNpjHNNvfq5mh+Wdzc+zcfebVFuqiWh/NU9MXkErvzZO/ISXNvJq+DYNMpw0XObka8FL+3Ju5bZBkJJj+zPJm8LPB3490PHtiDRFs/tqulyQG8VL787k5qEzeGNuMpPj5vJ84rQ68/j7BnH/TX/lybtX1pkW6BfMvCn/ZvmcJF555FsOndzGxm/fAuDb5I1s2LWCl2ZtZ/mcJKLDB/LPj93rdhsvM9zdhHAtvGD7gy+GRUGPMNvacYWMMyk8smQ40xbE8PuXBpOWc6je+f5v7Wzu+VskY+aYOJa5r9a08opSnnrjFqYtiGHmC/2Zu2wMmbnHANh15BMeemkQM/63Hw+/fC2pWfsd/ZEuKTgAbrExXJuy/QFuHQit3XsIemnGml2Qb9q0CYvFwrhx41xdSpPlnz9NcsZuRg+4B4ARfW/jTEF6zRfuRUH+IfTpej2+PnXPB0Z1uoawttYrd3xa+NK9Yyzf56cBcDxrP326Xo+/r/XRr0N63Mzne/6fAz9R03QMhtsH27bMC59Y7x9uzD3nYL3VaNIA22tzhcbs3AGM6Hc7f39oK1cFd6l3+s1DZ7Ai4ShLH9vPsN6TeGH1AxSV5DN/1RQSJr/JsscPMGPc8zy3cooDP03jXNvdtgvQbN3+YN2RG+Sii+tEGqPZBbknOFOQTkhQGF4/DHxgMpnoENyZ0wWnmrS+vMIcthxYw9Ce4wGIDh/InpTPyCvMwWKx8PnetykpK6KwxP0e+zQsynGnPMODYWYc+BpgnMrG7twB9Os2kvZt6v+B2aeFL0N73lwz4mHPztfyfX4aWWdTCfJvW/PzTd9uIzhdcIqUjD0O+kSNYzLBnUPhmvr3Sa7Y4K4QP9jajoi7UpA3c8Wlhfx5xQTuuDGBqyMGARAbFUf8DU/wpxXjmf3ytbQJaA+Al9k9L6m4oQfcMxxa2rG8PuHw+9HWAWiMwN47dxe9t/UlhvWeRHi7aApLznIobRsA2w59QElZETk/nMVxJS8zTB0Oo3ra70p2kwnG9Ia7hlkvrhRxZ+75zSyX1L5NBHmF2VRVVeLl5Y3FYuF0/ik6tLFtXOyS0iKefP0mhveexO03PFZr2sThDzFx+EMAJJ3cQfvW4QT4BtntM9jboK7W+7z/vQOONv5Bc3X4+8Ctg2BgpHsdhc1+eRiZufU/Ee3VR/c6pM2Vn/+NrNxjLJz5Ob4+/vxl6hqWf/xflJadp2eXYXS5qpfb7NyZzTBxgHUHbNUOOFPU9HVdFWQN8EgXDjwkYgv3+F8oNglu1YGoTgP4bM+/+NXgaWw5+C7t2oTTqV3jb3K9UHae/3r9JgZdfRNTRv+pzvSzhdm0DQqjtLyENzf8hTtuTLDnR3CI4AB4cBQcyoStyXAku/HLtvaz3ps8PNp1o4ZdyuKHt19yegvvlnbZubto9eZFbP3uPyyc8Rm+PtarvGKj4oiNsj7qt7yyjMn/HUqXq3o1af2O0q0DzLkZdp2w9oHsgsYv2ynYOlbAoK7QwsthJYrYnYLcoP5w21KeT5zGqk1/w983iDl3rADgf1c/wLBeExneeyKl5SXcvzCGisoyikvPcddfwxk9YCrTb57Pf7a+xNH0bygtL2brwf8AMLJ/PFN+Yb06/Y//+CUWSzUVVeWMHjCVSXZ6zKWjmUzWo7I+4dajsoPpkJ5nvU0t9zxYLD/OG30VhIdYj+R7djT27WX22Lm7aM2XL/DFvlUsmPFZrVsOL+7cAbz92f8Q231Uk9bvaD7ecF00DI+CE2esZ2gy8qz94KdXq7f2s27/iBDo0RG6tHWvszAijWWyWH761SbuwFlPv7KnuNk45elnV+ov71qffNXaD5651dXV1K+p2z/99FGeT5xGYcnZmp27rmF9gdo7eC+umcnOI+vJK8ohyL8t/i0DefOP1ovizhRkcPezEYSFdMOvpfWuBR/vlrw8eycvrP4t353YQlV1JT27DGPWLS/XGVvA3fvBxe0f5Av/rYHFLsmITz/LHzWmWT79rPl9YmnWPPmIK6LD1Q2egn88/vWaP//h9qUNrqN9m3A2Pl//vv1j8f+4sgLdwMXt78n9QJofA59MFBEREQW5iIiIgSnIRUREDExBLiIiYmC62M0NmVtYr/41ErMBhjE1CiNu/4vUDzyHv9mL/FFjXF2GTfzNzXMAAAW5GzKZ3PsWHnEsbX9xByaTqVneymVEOrUuIiJiYApyERERA1OQi4iIGJiCXERExMAU5CIiIgamIBcRETEwBbmIiIiBKchFREQMTEEuIiJiYApyERERA1OQi4iIGJiCXERExMAU5CIiIgamIBcRETEwBbmIiIiBKchFREQMTEEuIiJiYN6uLkBERJrOYrFARZWry/BsLbwwmUyurqJBCnIRESOrqKJy3mpXV+HRvJ+NBx/3jUudWhcRETEwBbmIiIiBKchFREQMTEEuIiJiYApyERERA1OQi4iIGJiCXERExMAU5CIiIgamIBcREbt567sv8Vl0N29992W909POncFn0d1M//g1J1fmuRTkIiIiBqYgFxERMTAFuYiIiIEpyEVERAysWQR5bm4uCQkJREVF4evrS0REBI888gjFxcVMnz4dk8nEkiVLXF2miIiIzdz3uWx2sm/fPsaOHUtOTg4BAQH06tWLrKwsFi9eTGpqKnl5eQDExsa6tlBxmNwi+DoFDqbDuQvW94rL4EA69O4EXs1id7b5sljgxBlrHygstb5XWAr/2gbXx0CXtuDGj5oWuSyPDvLc3FwmTJhATk4Ojz/+OE899RSBgYEALFy4kLlz5+Lt7Y3JZKJfv34urlbsrbIKVu+Cnan1TKuGf34Fwf5w/0jo3Nb59YnjnbsAK76CtNza71sssPuE9dW9A0wbAYG+rqmxufrpvtPDG//J+uN7OFd2gUAfX26LGcr8G+7Gx8ujI8puPPpYZPbs2WRkZDBr1iwWLVpUE+IACQkJ9O/fn8rKSiIjIwkKCnJhpWJvVT8EdX0h/lP5JfDyRjiZe+n5xHgKL8DiT+uG+M+lnrbOd77UOXV5Ol9vHwBKKsrrnV5cUQaA3w/zAfzuml9y8P5FnJ29nN33zufAmVM8t2Otw2v1FB4b5IcPHyYxMZF27doxf/78eucZOHAgAP37969572LwDxkyhJYtW2LSOTdD+uwQJGU1bt6KKlj+JZRXOrYmca63t8HZ842b90wRrNrh2Hqai66t2wNwJC+z3ulHzlrfj/xhPoBe7cIJ8LGeErEAZpOJYwU5ji3Ug3hskK9atYrq6mqmTJlCq1at6p3Hz88PqB3kx44d49133yU0NJTBgwc7pVaxr8oq+DrZtmUKS2HfKcfUI86Xcw6O2pgDhzKtgS5X5pqruhIR2JZ3jmwn63x+rWnlVZW8uvdTTJgYHzWw1rSFOz8g+KX76fTKgxw4c5LZA8Y6s2xD89gfIDZt2gRAXFxcg/NkZGQAtYN85MiRZGdnA/D000/z9ddfO7BKcYSDGT9e1GSLrckwpJv96xHns3VH7qJtKTBpgH1raW68zV68PPo3xL//AgPfnMu0PnF0b9OB70vOsfrIDpLOZjB36CSuDulYa7mEoRNJGDqRw2czWXX4a0JbtXHNBzAgjw3ykydPAtClS5d6p1dWVtaE9E+D3Gy2/0mKQYMGkZOj00TO0nfsPK6+8Xc2L5d2upLw8Ej7FyROF/fQ+7TtMvDyM/7MO+u28/uJ8Q6oyHH8vFqQdMffXF1GLTd3v4Yv73qaRbs+5F+HvuJs6XkCWrQktkMkbw+bTXyPaxtctmfbTvRr35n7P3qVjZP/5MSqGxYTHc2FqgqHthEaGsru3bubtKzHBnlxcTEAFy5cqHd6YmIiubm5BAYG0rVrV4fWkpOTQ2Zm/b8Xif1Fl1c1aTmzlzc5p3Op+uFiHDEui6lFk5arNnkb7v+qf4uWri6hXoPCuvPviX9o0rIV1VWk5Gfbt6ArkJWdTYkbfy94bJCHhoaSn5/Pnj17GDZsWK1p2dnZzJkzB4B+/fo5/IK20NBQh65favPxrm7SclUVpYR2aGfnasQVLJUlTVuw6gKdOnWybzEO5ufVtJ0Wd3GurIT3U3YxMWoQrVv6czA3nfnb1zIm0n1uCe4YFuaUI/Km8tggHz16NIcPH2bBggWMGTOGmJgYAHbt2sXUqVPJzbXek+KMgWCaerpEmub4aVi80fblrunmy8s/XDchxvbZIVi3z/blZk4eyaqnjdUHLOWVVM5b7eoymswErEzaypzN/6K8qpIO/kHcEj2Evwy/zdWl1UhOScHk475x6b6VXaGEhARWrlxJeno6vXv3pkePHpSWlnLs2DHGjh1LZGQkGzZsqPX7uHiGru2hYxvIKrBtueuiHVGNuMLQ7vDxAet4Ao3VwksXO7pCUEt/PrljnqvLMDSPvf0sPDycLVu2MG7cOHx9fUlLSyMkJISlS5eyfv16kpOtl7UqyD2PyQS/7GPbMpHtIFq/gHiMQF8YbuOO2YgY8HfPn5tFLsljj8gBevbsybp16+q8f/78edLS0jCbzfTpY+M3vhhCbBcYf75xp1evCoLpN4BZY/94lFsGQH4xfNeIM+X9O8P4WIeXJOIQHh3kDTl06BAWi4WYmBj8/f3rTF+zZg0ASUlJtf4eGRnJoEGDnFeoXJHRvaGNv/UUa30jfHmZ4ZrOcOsgHYl5Ii8z3D8CPjkAW1PgQj0jhvr7wIir4Vd9wAF3noo4RbMM8oMHDwINn1aPj4+v9+/33Xcfb7zxhkNrE/sa1BUGRMKRLOtAMSVl4O0FYW2sv6PqQRmezcsM42JhTB/Yc9I6rnpZBbRsAdFXQWxncONrmEQapVl24csFucVicWY54mBmE/TqZH1J8+TjDdd2t75EPI2CXESkGXr36E6+OPUdi+KmMmXdyxw+m4mftw8d/IN4efRviAq+/NWf0ctm4+PVouZJZglDJ3JHjx/H7Th7oYhfvfPjqHMllWWcKDhN5kOvEeJX+xkYbx7czG83LGP1pEeZFH3551zcvHo+OcUFmE1mAn18eWHUfVxzVWSd+T4+vpentq6m2mKhsrqKxwaP594+IwF49PM3WZf6LScLc/nm3r8R26Hu8kbQLIP84jjsIiLN1fvHdnFPrxEAPNBvFDd1jcVkMvHKng08uOEffHbnnxu1nrcnPNxgALb1C2T3fT8+ffKFXev4Kv1wnRBPO3eG5Qe/YGhYVKPrXzlhNm18AwBYm7KLBz55jW/ve67WPBaLhWkfvcLGyX+mX/vOpJ07Q99/PsGvYwYT6OPHrTFDeHzIeOJWPdPodt1RswxyERFPV1BazDVvzOVCZTnhgW0pq6rgxLnTTOl1PUtG/4btmcksv+lBWnh5M7bbNTXLDe0Yzd93r3dITSsObuavIybXeq/aUs2DG5bx4qj7SNj8dqPXdTHEAQrLSjBR/20nJkycK7UO2V1YfoG2fq1o+cNoeCMietr4CdyTglxExAO18Q1gcs/hBPr4Mm/YrXx6Yj8Ldr7P0l/NYGPaAa7tGEMLr7oR8PKeT5gQ1fgHzvzmo1exAINDu/PsyDtp7x9U73zbM5MpKC1mXPfaj5d7cfdHDOt0NQNCbR+N5/6PXuHLdOvdRe/fmlBnuslk4u0JD3PHB38nwNuX/LJi3pn0B3zq+dxGphsuREQ81IHTJ2tOe+/5/kTNnz9I2c2k6Lq30j63Yy2p+Tn8dcSdjVr/53f+hT3TFvDN1Gdp6xfI9I9fbXDeFQc3M6X3CLzNXjXvfXcmnfeSv+HJa29p7Eeqvc6bH+L4zCU8fd0dzPtqVZ3pldVVzN++lncmPsqxmYvZEP8k93/0KrklhU1qz10pyEVEPNT+nwV5/w6RWCwWNqYd4KausbXmfWHXOtam7OLD2+Y2+olqnYOsDxlq4eXN7IE3sTXjaL3znS8vZc3RHUzrc0Ot97/OPMLJwlx6LX+M6GWz2Zl9jIc+Xc7SfbY9LOHePiPZnJ7E2QtFtd7ff/okWcX5NafQB4V1p1OrEPadPmnT+t2dglxExANlFuVhMkGnwBAAvjtzir7tI9iVk0qPtp1o5fPjIAov7l5P4pFtfBz/X7V+ewbr6eu1KbvqrL+4vJSCH357Bkg8so3Yeq4aB1h9dDv9OnSmR9va94DOjB3Dqd+9QsqMxaTMWMzQsChe+eV0ZsaOuWTbBaXFZJ3Pr/n7+ym7aOsbSIhv7YvowgPbknO+gMNnrY+mPZafw/Fz3xMTElZvnUblWT8UiIgIAPtOp9W6mrx1ywBe27eRtn6BTIz68bR6RtFZEja/TbfWHRiT+CwALb28+fqe/wHg25wTzBpwU531f19yjskfvEhVdTUWoGvrDvxz7O9qps/csIzx3QcyIWogKw5uZnrfOJs/Q0Ntnysr4a4PX+JCZQVmk4n2foG8d+sTNY+k/mnbr/zyAe7+cDFmk4lqi4UXfzGt5kzCQ5++zsfH95FTXMD4Nc8R6OPH4Qf+bnOdrmayaPQTERHDsvUxpv1XzGHjHX+iQ0Dry857pqSQe9cv4eP4J6+kxCZxZds/5/1svFs/xlRBLiJiYEZ/HrkRuHuQ6zdyERERA1OQi4iIGJiCXERExMD0G7mIiIFZLBaoqHJ1GZ6thVfNFfHuSEEuIiJiYDq1LiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmAKchEREQNTkIuIiBiYglxERMTAFOQiIiIGpiAXERExMAW5iIiIgSnIRUREDExBLiIiYmD/H7/vivPhEq4jAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 621.739x200.667 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  > Observable: ['XZ']\n",
      "  > Expectation value: 0.8584743310229327\n",
      "  > Metadata: {'variance': 0.2715751099246151, 'shots': 2048}\n"
     ]
    }
   ],
   "source": [
    "estimator = Estimator(options={\"shots\": 2048})  # Defaults !!!\n",
    "\n",
    "circuit = random_circuit(2, 2, seed=0).decompose(reps=1)\n",
    "observable = SparsePauliOp(\"XZ\")\n",
    "\n",
    "job = estimator.run(circuit, observable)\n",
    "result = job.result()\n",
    "\n",
    "display(circuit.draw(\"mpl\"))\n",
    "print(f\"  > Observable: {observable.paulis}\")\n",
    "print(f\"  > Expectation value: {result.values[0]}\")\n",
    "print(f\"  > Metadata: {result.metadata[0]}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a45e770f-291f-4469-9ba7-471aabe5933b",
   "metadata": {},
   "source": [
    "And we can override the dafault `shots` when calling `run()`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "8d144412-bf1b-4f46-b485-f255fb84ab1a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 621.739x200.667 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  > Observable: ['XZ']\n",
      "  > Expectation value: 0.8594588994433835\n",
      "  > Metadata: {'variance': 0.2715751099246151, 'shots': 1024}\n"
     ]
    }
   ],
   "source": [
    "circuit = random_circuit(2, 2, seed=0).decompose(reps=1)\n",
    "observable = SparsePauliOp(\"XZ\")\n",
    "\n",
    "job = estimator.run(circuit, observable, shots=1024)  # Job-only !!!\n",
    "result = job.result()\n",
    "\n",
    "display(circuit.draw(\"mpl\"))\n",
    "print(f\"  > Observable: {observable.paulis}\")\n",
    "print(f\"  > Expectation value: {result.values[0]}\")\n",
    "print(f\"  > Metadata: {result.metadata[0]}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f13d5aa1-faf6-4263-b188-bb1021c802d8",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Other _Estimator_ implementations\n",
    "\n",
    "As it was explained at the beginning of this tutorial, there are several realizations of the _Estimator_ primitive; all of them implementing the official `BaseEstimator` interface in Qiskit Terra.\n",
    "\n",
    "To wrap up, let us showcase how you can use a different `Estimator`. For instance, Qiskit Terra's `BackendEstimator` can be configured with a `Backend` object (e.g. noisy simulators), to perform the expectation value retrieval from it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "15c8fb18-b281-45b5-a670-17b88c4590cb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 621.739x200.667 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  > Observable: ['XZ']\n",
      "  > Expectation value: 0.7890625\n",
      "  > Metadata: {'variance': 0.37738037109375, 'shots': 1024}\n"
     ]
    }
   ],
   "source": [
    "from qiskit.primitives import BackendEstimator\n",
    "from qiskit.providers.fake_provider import FakeNairobi  # Bring the noise!\n",
    "\n",
    "backend = FakeNairobi()\n",
    "estimator = BackendEstimator(backend)\n",
    "\n",
    "circuit = random_circuit(2, 2, seed=0).decompose(reps=1)\n",
    "observable = SparsePauliOp(\"XZ\")\n",
    "\n",
    "job = estimator.run(circuit, observable)\n",
    "result = job.result()\n",
    "\n",
    "display(circuit.draw(\"mpl\"))\n",
    "print(f\"  > Observable: {observable.paulis}\")\n",
    "print(f\"  > Expectation value: {result.values[0]}\")\n",
    "print(f\"  > Metadata: {result.metadata[0]}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "132a4811-d5e0-4689-b2e0-a8adea800ab6",
   "metadata": {},
   "source": [
    "Notice how: \n",
    "1. The way we use this estimator is exactly the same once instantiated.\n",
    "2. Due to the noise the computed expectation value differs slightly from the exact result obtained before: `exact = 0.8534781134132173`.\n",
    "\n",
    "---\n",
    "Now... remember that we mention that this design allows for simple substitution of the expectation value computation technique? Try running any of the cells after the initial preparation section and see what happens! 😉\n",
    "\n",
    "___Hint:__ check out the metadata (see below for solution)_"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f167795a-1a51-4678-8a63-28da864eafd8",
   "metadata": {
    "tags": []
   },
   "source": [
    "## Final remarks"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "84c9db24-3662-498e-884d-4c820e75e432",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<h3>Version Information</h3><table><tr><th>Qiskit Software</th><th>Version</th></tr><tr><td><code>qiskit-terra</code></td><td>0.22.2</td></tr><tr><td><code>qiskit-aer</code></td><td>0.11.1</td></tr><tr><th>System information</th></tr><tr><td>Python version</td><td>3.11.0</td></tr><tr><td>Python compiler</td><td>Clang 14.0.0 (clang-1400.0.29.202)</td></tr><tr><td>Python build</td><td>main, Oct 25 2022 14:13:24</td></tr><tr><td>OS</td><td>Darwin</td></tr><tr><td>CPUs</td><td>8</td></tr><tr><td>Memory (Gb)</td><td>32.0</td></tr><tr><td colspan='2'>Sat Nov 12 13:39:30 2022 EST</td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div style='width: 100%; background-color:#d5d9e0;padding-left: 10px; padding-bottom: 10px; padding-right: 10px; padding-top: 5px'><h3>This code is a part of Qiskit</h3><p>&copy; Copyright IBM 2017, 2022.</p><p>This code is licensed under the Apache License, Version 2.0. You may<br>obtain a copy of this license in the LICENSE.txt file in the root directory<br> of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.<p>Any modifications or derivative works of this code must retain this<br>copyright notice, and modified files need to carry a notice indicating<br>that they have been altered from the originals.</p></div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import qiskit.tools.jupyter  # pylint: disable=unused-import,wrong-import-order\n",
    "\n",
    "%qiskit_version_table\n",
    "%qiskit_copyright"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d9e53370-294c-4a93-96fb-127c28d83502",
   "metadata": {},
   "source": [
    "___Solution:___\n",
    "_On re-running the original cells, you moved on from using `Estimator` to `BackendEstimator`, which ammounts to computing the expectation values through the chosen backend, instead of `Statevector`. This can be noticed by the fact that, even when no `shots` are passed to `run()`, the metadata shows `shots=1024` and some variance which didn't use to be there._"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "zne",
   "language": "python",
   "name": "zne"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
